home *** CD-ROM | disk | FTP | other *** search
/ Aminet 50 / Aminet 50 (2002)(GTI - Schatztruhe)[!][Aug 2002].iso / Aminet / util / wb / BWS_Scalos.lha / BWS_Scalos / Scalos_Info / mod.e < prev    next >
Text File  |  2001-12-05  |  3KB  |  92 lines

  1. OPT PREPROCESS
  2. OPT MODULE
  3. OPT EXPORT
  4.  
  5. MODULE 'dos/dosextens', 'dos/dos', 'libraries/mui', 'muimaster',
  6.          'libraries/asl', 'mui/icon_mcc', 'utility/tagitem'
  7.  
  8. ENUM ERR_NONE, ERR_ASL, ERR_KICK
  9. RAISE ERR_ASL  IF Mui_AllocAslRequest()=NIL,ERR_KICK IF KickVersion()=FALSE
  10.  
  11. #define FIBF_HIDDEN Shl(1,7)
  12.  
  13. PROC iconbutton(name,sel,frame) IS
  14.           IconObject,
  15.           MUIA_Frame,frame,
  16.           MUIA_Background, MUII_BACKGROUND,
  17.           MUIA_InputMode, MUIV_InputMode_Toggle,
  18.           MUIA_Selected,sel,
  19.           MUIA_Icon_Name,name,
  20.           End
  21.  
  22. PROC proTxtObject(s,sel,frame) IS TextObject,
  23.           MUIA_Frame,frame,
  24.           MUIA_InputMode        , MUIV_InputMode_Toggle,
  25.           MUIA_Text_Contents,s,
  26.           MUIA_Background       , MUII_ButtonBack,
  27.           MUIA_Selected,sel,
  28.           MUIA_Weight,0,
  29.           End
  30.  
  31.  
  32.  
  33. PROC instr(s1,s2); DEF u1,u2,r; u1:=news(s1); UpperStr(u1); u2:=news(s2); UpperStr(u2); r:=InStr(u1,u2); ENDPROC r
  34.  
  35. PROC news(s); DEF ns; ns:=String(StrLen(s)); StrCopy(ns,s); ENDPROC ns
  36.  
  37. PROC muiasl(bar,t,deffle,patt=0) HANDLE;
  38. DEF fr:PTR TO filerequester,ht=265,ret=0,str[256]:STRING
  39. IF t<>0 THEN ht:=ht-t;IF bar=0 THEN bar:='MUI Request'
  40. StrCopy(str,deffle,StrLen(deffle)-StrLen(FilePart(deffle)))
  41. IF patt<>0 THEN
  42. fr:=Mui_AllocAslRequest(ASL_FILEREQUEST,
  43. [ASL_HAIL,bar,  ASL_DIR,str,   ASL_FILE,FilePart(deffle),  ASL_TOPEDGE,t, ASL_LEFTEDGE,20,ASL_HEIGHT,ht, ASL_WIDTH,150,ASL_PATTERN,patt, ASL_FUNCFLAGS,FILF_PATGAD,FILF_DOWILDFUNC,NIL]
  44. ) ELSE fr:=Mui_AllocAslRequest(ASL_FILEREQUEST,
  45. [ASL_HAIL,bar,  ASL_DIR,str,   ASL_FILE,FilePart(deffle),  ASL_TOPEDGE,t, ASL_LEFTEDGE,20,ASL_HEIGHT,ht, ASL_WIDTH,150, ASL_FUNCFLAGS,FILF_DOWILDFUNC,NIL])
  46.  IF Mui_AslRequest(fr, NIL);
  47.  StrCopy(str,fr.drawer);
  48.  AddPart(str,fr.file,256)
  49.  IF str[StrLen(str)-1]="/" THEN str[StrLen(str)-1]:=0
  50.   IF ht:=Lock(str,-2)
  51.   NameFromLock(ht,str,256)
  52.   UnLock(ht)
  53.   ENDIF
  54.   ret:=news(str)
  55.  ELSE; ret:='';
  56.  ENDIF;
  57. EXCEPT DO;
  58. IF fr THEN Mui_FreeAslRequest(fr) ;
  59. SELECT exception ;
  60. CASE ERR_ASL;  WriteF('Error: Could not allocate ASL request\n')
  61. CASE ERR_KICK; WriteF('Error: Requires V37\n') ;
  62. ENDSELECT
  63. ENDPROC ret
  64.  
  65. PROC imageobject(type) IS ImageObject,
  66.           ImageButtonFrame,
  67.           MUIA_InputMode        , MUIV_InputMode_RelVerify,
  68.           MUIA_Image_Spec       , type,
  69.           MUIA_Background       , MUII_ButtonBack,
  70.           MUIA_Weight,0,
  71.           End
  72.  
  73. PROC volExists(vol,type="V") HANDLE;
  74. DEF dlock=0,dl:doslist,v,s[256]:STRING,pars,t1;
  75. v:=news(vol); UpperStr(v);
  76. IF v[StrLen(v)-1]=":" THEN v[StrLen(v)-1]:=0
  77. SELECT type
  78. CASE "V"; t1:=LDF_VOLUMES
  79. CASE "A"; t1:=LDF_ASSIGNS
  80. CASE "D"; t1:=LDF_DEVICES
  81. ENDSELECT
  82. pars:=t1 OR LDF_READ;
  83. dl:=(dlock:=LockDosList(pars));
  84.  WHILE dl:=NextDosEntry(dl,pars);
  85.  StrCopy(s,BADDR(dl.name)+1);
  86.  UpperStr(s)
  87.  IF StrCmp(s,v) THEN Raise(-1)
  88.  ENDWHILE;
  89. EXCEPT DO
  90. IF dlock THEN UnLockDosList(pars)
  91. ENDPROC exception
  92.